package com.clock.shop.mapper;

import com.clock.shop.domain.ShopOrder;
import com.clock.shop.domain.vo.ShopOrderVo;

import java.math.BigDecimal;
import java.util.List;


/**
 * 订单Mapper接口
 *
 * @author ruoyi
 * @date 2024-10-12
 */
public interface ShopOrderMapper
{
    //查本月金额
    public BigDecimal selectMonthMoney(Long shopId);

    //查本月订单数
    public Long selectMonthOrder(Long shopId);

    //查今日金额
    public BigDecimal selectTodayMoney(Long shopId);

    //查今日订单数
    public Long selectTodayOrder(Long shopId);

    //查询订单总金额
    public BigDecimal selectTotalMoney(Long shopId);

    //查询订单总数
    public Long selectOrderNum(Long shopId);

    //根据员工id查找订单-进行中
    public ShopOrder selectShopOrderByEmployeeIdIng(Long EmployeeId);

    //根据员工id查找订单-未开始
    public ShopOrder selectShopOrderByEmployeedStart(Long EmployeeId);
    /**
     * 查询订单
     *
     * @param orderId 订单主键
     * @return 订单
     */
    public ShopOrder selectShopOrderByOrderId(Long orderId);

    /**
     * 查询订单列表
     *
     * @param orderVo 订单
     * @return 订单集合
     */
    public List<ShopOrderVo> selectShopOrderList(ShopOrderVo orderVo);

    /**
     * 新增订单
     *
     * @param shopOrderVo 订单
     * @return 结果
     */
    public int insertShopOrder(ShopOrderVo shopOrderVo);

    /**
     * 用户下单
     *
     * @param shopOrder 订单
     * @return 结果
     */
    int takeShopOrder(ShopOrder shopOrder);

    /**
     * 修改订单
     *
     * @param shopOrder 订单
     * @return 结果
     */
    public int updateShopOrder(ShopOrder shopOrder);

    /**
     * 删除订单
     *
     * @param orderId 订单主键
     * @return 结果
     */
    public int deleteShopOrderByOrderId(Long orderId);

    /**
     * 批量删除订单
     *
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteShopOrderByOrderIds(Long[] orderIds);

}
